﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Orange.Lib.Effective
{
    namespace ValOrRefUse
    {
        public struct Employee
        {
            public string Position { get; set; }

            public decimal CurrentPayAmount { get; set; }

            public void Pay(BankAccount b)
            {
                b.Balance += CurrentPayAmount;
            }
        }

        public class Employee2
        {
            public string Position { get; set; }

            public decimal CurrentPayAmount { get; set; }

            public virtual void Pay(BankAccount b)
            {
                b.Balance += CurrentPayAmount;
            }
        }

        public class BankAccount
        {
            public decimal Balance { get; set; }

            private readonly int[] Nums;

            public BankAccount(int[] nums)
            {
                this.Nums = nums;
            }

            public IEnumerable<int> GetNums
            {
                get { return Nums; }
            }
        }

        public interface INotify
        {
            void Notify();
        }
    }
}
